A data processing system can be configured to operate as more than one data processing system in a variety of ways. For example, a data processing system can be divided into logical partitions (LPARs). Such data processing systems are also known as logically partitioned data processing systems or host systems. A host system operates as a virtualized data processing environment. A logically partition is also known simply as a “partition.” Each partition operates as a separate data processing system independent of the other partitions.
Generally, a partition management firmware component connects the various partitions and provides the network connectivity among them. A hypervisor is an example of such partition management firmware. A partition shares all or some of the resources available in the host system on which the partition operates. The shared resources can be hardware, software, or firmware available in the host system. Some examples of host system resources shared by one or more partitions executing on the host system include, but are not limited to, one or more processor, memory, adapters, storage devices, an operating system component, a firmware component, and a bus.
A host system can be configured to operate as multiple data processing systems in ways other than partitions as well. Virtual Input/Output System (VIOS) is another method for operating a host system as multiple data processing systems. Hereinafter, the term “partition” comprises not just logical partitions created by partitioning a host system but also other configurations of multiple data processing systems configured on a host system in other ways.
Regardless of how the multiple data processing systems are configured on a host system, resource sharing is a common aspect of all such configurations. Virtualization is one method by which the partitions share a host system's resources. For example, if the host system includes one physical input/output (I/O) adapter, such as an Ethernet network adapter, that physical network adapter is virtualized so that one or more virtual network adapters refer back to the physical adapter.
For example, one partition may be assigned one of the virtual adapters and another partition may be assigned another one of the virtual adapters. Both partitions use the same physical adapter, using a bridging mechanism.
Multiple physical resources can be virtualized and utilized by partitions in this manner. Multiple copies of a resource can similarly be virtualized and used by the partitions. For example, if a host system supports multiple network adapters for redundancy, each of those multiple adapters can be virtualized, and their corresponding virtual adapters assigned to a partition to provide similar redundancy in the partition.
In one example configuration, multiple virtual adapters corresponding to the same physical adapter couple with each other via a virtual switch in the hypervisor. The virtual switch enables each coupled virtual adapter to communicate with each other and with an external data processing system. For example, the virtual switch sends the packets from a virtual adapter to an external destination, and receives packets from an external source for a virtual adapter, using a virtual trunk adapter. The virtual trunk adapter communicates with a virtual bridge, and the virtual bridge in-turn communicates with the physical adapter to make such data communications possible.